
var oTable ;
var orderType;

$(function() {
	orderType=$("#orderType").val();
	// 1.初始化Table
	oTable = new TableInit();
	oTable.Init();

	// 2.初始化Button的点击事件
	var oButtonInit = new ButtonInit();
	oButtonInit.Init();


});

var ButtonInit = function() {
	var oInit = new Object();
	var postdata = {};

	oInit.Init = function() {
		// 初始化页面上面的按钮事件
		$("#btn_query").bind("click",query);//查询按钮
		$("#btn_save").bind("click",modify);//
	};

	return oInit;
};



var query = function(){
	 $("#tb_porders").bootstrapTable('refresh');
}

//撤销订单
var deleteOrder = function(id){
	$.ajax({
		url:"/do/productOrder/deleteOrder",
		type:"post",
		data:{
			id:id
		},
		dataType:"json",
		success:function(result){
			$("#tb_porders").bootstrapTable('refresh');
			if(result&&result.code==0){
				alert(result.msg);
			}
		}
	})
}

var modifyId;
//修改订单
var modifyOrder = function(id,name,number,price){
	modifyId = id;
	$('#orderModal').modal("show");
	$("#orderModalLabel").html(name);
	$("#inputNumber").val(number);
	$("#inputPrice").val(price);
}

var modify = function(){
	
	$.ajax({
		url:"/do/productOrder/modifyOrder",
		type:"post",
		data:{
			id:modifyId,
			number:$("#inputNumber").val(),
			price:$("#inputPrice").val()
		},
		dataType:"json",
		success:function(result){
			$('#orderModal').modal("hide");
			$("#tb_porders").bootstrapTable('refresh');
			if(result&&result.code==0){
				alert(result.msg);
			}
		}
	})
}

var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		$('#tb_porders').bootstrapTable({
			url :  '/do/productOrder/findUserUnFinishedByParams', // 请求后台的URL（*）
			method : 'post', // 请求方式（*）
			contentType: "application/x-www-form-urlencoded",//post 必须制定类型，否则不能正常传值
			toolbar : '#toolbar', // 工具按钮用哪个容器
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			sortName:"createDate",//默认排序列
			sortable : true, // 是否启用排序
			sortOrder : "desc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 15, 20 ], // 可供选择的每页的行数（*）
			search : false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
			strictSearch : true,
			showColumns : true, // 是否显示所有的列
			showRefresh : true, // 是否显示刷新按钮
			minimumCountColumns : 2, // 最少允许的列数
			clickToSelect : true, // 是否启用点击选中行
			singleSelect : true,//开启单选，默认为多选
			height : 500, // 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			showToggle : false, // 是否显示详细视图和列表视图的切换按钮
			cardView : false, // 是否显示详细视图
			detailView : false, // 是否显示父子表
			columns : [ {
				checkbox : true
			}, {
				field : 'typeName',
				title : '产品'
			}, {
				field : 'number',
				title : '数量'
			} , {
				field : 'price',
				title : '单价'
			}, {
				field : 'createDate',
				title : '申请时间'
			},{
                field : 'status',
                title : '状态',
                formatter:function(data){
                    var t="-";
                    if(data == 1){
                        t="在途";
                    }else if(data == 2){
                        t="驳回";
                    }
                    return t;
                }
            }, {
				field : 'id',
				title : '操作',
				formatter:function(data,row,index){
					var temp=""
					if(row.status==1){//在途，可以撤销
						temp="<a href='javascript:void(0)' onclick=deleteOrder('"+data+"')>撤销</a>";
					}else if(row.status==2){//被驳回，修改重新提交
						temp="<a href='javascript:void(0)' onclick=deleteOrder('"+data+"')>撤销</a>";
						temp+="&nbsp;&nbsp; <a href='javascript:void(0)' onclick=modifyOrder('"+data+
									"','"+row.typeName+"','"+row.number+"','"+row.price+"')>修改</a>  ";
						temp+="&nbsp;&nbsp; <a href='javascript:void(0)'  data-toggle='popover'" +
								"data-content='"+row.remark+"' data-placement='left' >查看原因</a>";
					}
					return temp;
					
				}
			}],
			onLoadSuccess:function(){
				//控制弹出框的显示，加载完之后执行
				 $('[data-toggle="popover"]').popover()
				 .on("mouseenter", function () {//绑定鼠标事件
	                    var _this = this;
	                    $(this).popover("show");
	                    $(this).siblings(".popover").on("mouseleave", function () {
	                        $(_this).popover('hide');
	                    });
	                }).on("mouseleave", function () {
	                    var _this = this;
	                    setTimeout(function () {
	                        if (!$(".popover:hover").length) {
	                            $(_this).popover("hide")
	                        }
	                    }, 100);
	                });
			}
		});
	};

	// 得到查询的参数
	oTableInit.queryParams = function(params) {
		page = (params.offset / params.limit) + 1;
		var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
			size : params.limit, // 页面大小
			page : page, // 页码
			typeName : $("#txt_search_name").val(),
			orderType:orderType,
			search : params.search,
			order : params.order,
			sort : params.sort
		};
		return temp;
	};
	
	return oTableInit;
};

